#pragma once
#include <windows.h>

extern BOOL StartNewProcess(LPCTSTR program, LPCTSTR args, PROCESS_INFORMATION *processInfo);

extern BOOL InjectDll(PROCESS_INFORMATION *processInfo, TCHAR *dllToInject, LPDWORD dllBaseAddr);

extern BOOL CallRemoteFunction(PROCESS_INFORMATION *processInfo, DWORD remoteDllBaseAddr,
	const TCHAR *dllPath, const char *dllFuncName, const LPVOID params, SIZE_T paramSize);

extern BOOL EnableDebugPrivilege();

extern DWORD FetchProcessIdByName(const TCHAR *processName);